<?php

namespace App\Http\Controllers\Test;

use App\Http\Controllers\Controller;
use App\Jobs\DemoJob;


class RegularController extends Controller
{
    // 正则
    public function initialize()
    {
        parent::initialize();
    }

    // 删除img标签
    // http://www.slh.com/test/regular/remove-img
    public function removeImg()
    {
        $string = $this->imgString();
        // 删除闭合的img标签（执行成功，但字符串没有这样的字符存在，所以字符串没改变）
        /*$string = preg_replace("/(<img.*?>)(.*?)(<\/img>)/si", "", $string);*/
        // 删除闭合的img标签（执行成功，但因为img标签没有闭合，会查找到后面的br闭合的标签作为结束）
        /*$string = preg_replace("/<img.*?\/>/si", "", $string);*/
        // 删除闭合的img标签同时排除gif标签（执行失败，没有排除标签）
        // $string = preg_replace("/<img.*?[^(gif)]\/>/si", "", $string); //过滤img标签
        // $string = preg_replace("/<img.*?[^(\.gif)]\/>/si", "", $string); //过滤img标签

        // 执行不成功（不能删除除gif以外的图片）
        /*$string = preg_replace("/<img.*?[^(\.gif)].*?>/si", "", $string); //过滤img标签(前半部分)*/


        $string = preg_replace("/<img.*?\.(BMP|DIB|PCP|DIF|WMF|GIF|JPG|TIF|EPS|CDR|IFF|TGA|PCD|MPT|PNG|JPEG|PSD|TIFF|bnp).*?>/si", "", $string); //过滤img标签(前半部分)
        $string = preg_replace("/<\/img>/si", "", $string); //过滤img标签

        return $string;
    }


    // 图片字符串，img标签有闭合的也有没有闭合的
    protected function imgString()
    {
        $string = '<p>不规则的图片<img src="http://cdn.shenlannews.com/202304/11/3a99fe002d09a76d13c133d79c35ff85.jpg" alt="图片" width="320upx"><br/><br/>规则的图片<img src="http://cdn.shenlannews.com/202304/11/3a99fe002d09a76d13c133d79c35ff85.jpg" alt="图片" width="320upx"/><br/><br/>规则的表情<img src="http://cdn.shenlannews.com/static/face/11.gif" alt="图片"/><br/><br/>不规则的表情<img src="http://cdn.shenlannews.com/static/face/11.gif" alt="图片"></p>';

        return $string;
    }


}


